home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / System Extras Headers / GX Headers / PrintingManager.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  27.4 KB  |  1,072 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        PrintingManager.h
  3.  
  4.     Copyright:    © 1984-1994 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __PRINTINGMANAGER__
  13. #define __PRINTINGMANAGER__
  14.  
  15. #ifndef __PRINTING__
  16. #include <Printing.h>
  17. /*    #include <Quickdraw.h>                                        */
  18. /*        #include <Types.h>                                        */
  19. /*            #include <ConditionalMacros.h>                        */
  20. /*            #include <MixedMode.h>                                */
  21. /*                #include <Traps.h>                                */
  22. /*        #include <QuickdrawText.h>                                */
  23. /*            #include <IntlResources.h>                            */
  24. /*    #include <Dialogs.h>                                        */
  25. /*        #include <Windows.h>                                    */
  26. /*            #include <Events.h>                                    */
  27. /*                #include <OSUtils.h>                            */
  28. /*            #include <Controls.h>                                */
  29. /*                #include <Menus.h>                                */
  30. /*        #include <TextEdit.h>                                    */
  31. #endif
  32.  
  33. #ifndef __FILES__
  34. #include <Files.h>
  35. /*    #include <SegLoad.h>                                        */
  36. #endif
  37.  
  38. #ifndef __COLLECTIONMANAGER__
  39. #include <Collections.h>
  40. #endif
  41.  
  42. #ifndef __PRINTINGERRORS__
  43. #include <PrintingErrors.h>
  44. #endif
  45.  
  46. #ifndef graphicsTypesIncludes
  47. #include <graphics types.h>
  48. /*    #include "math types.h"                                        */
  49. #endif
  50.  
  51. #ifndef fontTypesIncludes
  52. #include <font types.h>
  53. #endif
  54.  
  55. #ifndef scalerTypeIncludes
  56. #include <scaler types.h>
  57. /*    #include "sfnt types.h"                                        */
  58. #endif
  59.  
  60. #define gestaltGXPrintingMgrVersion 'pmgr'
  61.  
  62. #define gestaltGXVersion 'qdgx'
  63.  
  64. typedef struct gxPrivatePrinterRecord *gxPrinter;
  65.  
  66. typedef struct gxPrivateJobRecord *gxJob;
  67.  
  68. typedef struct gxPrivateFormatRecord *gxFormat;
  69.  
  70. typedef struct gxPrivatePaperTypeRecord *gxPaperType;
  71.  
  72. typedef struct gxPrivatePrintFileRecord *gxPrintFile;
  73.  
  74. typedef Boolean gxLoopStatus;
  75.  
  76. enum  {
  77.     gxStopLooping                = false,
  78.     gxKeepLooping                = true
  79. };
  80.  
  81. typedef pascal gxLoopStatus (*gxViewDeviceProc)(gxViewDevice, void *refCon);
  82.  
  83. typedef pascal gxLoopStatus (*gxFormatProc)(gxFormat, void *refCon);
  84.  
  85. typedef pascal gxLoopStatus (*gxPaperTypeProc)(gxPaperType, void *refCon);
  86.  
  87. typedef pascal OSErr (*gxPrintingFlattenProc)(long size, void *data, void *refCon);
  88.  
  89. typedef short gxCollectionCategory;
  90.  
  91. enum  {
  92.     gxNoCollectionCategory        = (gxCollectionCategory)0x0000,
  93.     gxOutputDriverCategory        = (gxCollectionCategory)0x0001,
  94.     gxFormattingDriverCategory    = (gxCollectionCategory)0x0002,
  95.     gxDriverVolatileCategory    = (gxCollectionCategory)0x0004,
  96.     gxVolatileOutputDriverCategory = gxOutputDriverCategory + gxDriverVolatileCategory,
  97.     gxVolatileFormattingDriverCategory = gxFormattingDriverCategory + gxDriverVolatileCategory
  98. };
  99.  
  100. enum  {
  101.     gxPrintingTagID                = -28672
  102. };
  103.  
  104. enum  {
  105.     gxJobTag                    = 'job '
  106. };
  107.  
  108. enum  {
  109.     gxPrintJobUrgent            = 0x00000001,
  110.     gxPrintJobAtTime            = 0x00000002,
  111.     gxPrintJobASAP                = 0x00000003
  112. };
  113.  
  114. enum  {
  115.     gxPrintJobHoldingBit        = 0x00001000
  116. };
  117.  
  118. enum  {
  119.     gxPrintJobHolding            = (gxPrintJobHoldingBit + gxPrintJobASAP),
  120.     gxPrintJobHoldingAtTime        = (gxPrintJobHoldingBit + gxPrintJobAtTime),
  121.     gxPrintJobHoldingUrgent        = (gxPrintJobHoldingBit + gxPrintJobUrgent)
  122. };
  123.  
  124. enum  {
  125.     gxNoPrintTimeAlert            = 0,
  126.     gxAlertBefore                = 1,
  127.     gxAlertAfter                = 2,
  128.     gxAlertBothTimes            = 3
  129. };
  130.  
  131. enum  {
  132.     gxThirtySeconds                = 1800,
  133.     gxTwoMinutes                = 7200
  134. };
  135.  
  136. #if defined(powerc) || defined (__powerc)
  137. #pragma options align=mac68k
  138. #endif
  139. struct gxJobInfo {
  140.     long                        numPages;
  141.     long                        priority;
  142.     long                        timeToPrint;
  143.     long                        jobTimeout;
  144.     long                        firstPageToPrint;
  145.     short                        jobAlert;
  146.     Str31                        appName;
  147.     Str31                        documentName;
  148.     Str31                        userName;
  149. };
  150. #if defined(powerc) || defined(__powerc)
  151. #pragma options align=reset
  152. #endif
  153.  
  154. typedef struct gxJobInfo gxJobInfo;
  155.  
  156. enum  {
  157.     gxCollationTag                = 'sort'
  158. };
  159.  
  160. #if defined(powerc) || defined (__powerc)
  161. #pragma options align=mac68k
  162. #endif
  163. struct gxCollationInfo {
  164.     Boolean                        collation;
  165. };
  166. #if defined(powerc) || defined(__powerc)
  167. #pragma options align=reset
  168. #endif
  169.  
  170. typedef struct gxCollationInfo gxCollationInfo;
  171.  
  172. enum  {
  173.     gxCopiesTag                    = 'copy'
  174. };
  175.  
  176. #if defined(powerc) || defined (__powerc)
  177. #pragma options align=mac68k
  178. #endif
  179. struct gxCopiesInfo {
  180.     long                        copies;
  181. };
  182. #if defined(powerc) || defined(__powerc)
  183. #pragma options align=reset
  184. #endif
  185.  
  186. typedef struct gxCopiesInfo gxCopiesInfo;
  187.  
  188. enum  {
  189.     gxPageRangeTag                = 'rang'
  190. };
  191.  
  192. enum  {
  193.     gxDefaultPageRange            = (char)0,
  194.     gxReplacePageRange            = (char)1,
  195.     gxCustomizePageRange        = (char)2
  196. };
  197.  
  198. #if defined(powerc) || defined (__powerc)
  199. #pragma options align=mac68k
  200. #endif
  201. struct gxSimplePageRangeInfo {
  202.     char                        optionChosen;
  203.     Boolean                        printAll;
  204.     long                        fromPage;
  205.     long                        toPage;
  206. };
  207. #if defined(powerc) || defined(__powerc)
  208. #pragma options align=reset
  209. #endif
  210.  
  211. typedef struct gxSimplePageRangeInfo gxSimplePageRangeInfo;
  212.  
  213. #if defined(powerc) || defined (__powerc)
  214. #pragma options align=mac68k
  215. #endif
  216. struct gxPageRangeInfo {
  217.     gxSimplePageRangeInfo        simpleRange;
  218.     Str31                        fromString;
  219.     Str31                        toString;
  220.     long                        minFromPage;
  221.     long                        maxToPage;
  222.     char                        replaceString[1];
  223. };
  224. #if defined(powerc) || defined(__powerc)
  225. #pragma options align=reset
  226. #endif
  227.  
  228. typedef struct gxPageRangeInfo gxPageRangeInfo;
  229.  
  230. enum  {
  231.     gxQualityTag                = 'qual'
  232. };
  233.  
  234. #if defined(powerc) || defined (__powerc)
  235. #pragma options align=mac68k
  236. #endif
  237. struct gxQualityInfo {
  238.     Boolean                        disableQuality;
  239.     short                        defaultQuality;
  240.     short                        currentQuality;
  241.     short                        qualityCount;
  242.     char                        qualityNames[1];
  243. };
  244. #if defined(powerc) || defined(__powerc)
  245. #pragma options align=reset
  246. #endif
  247.  
  248. typedef struct gxQualityInfo gxQualityInfo;
  249.  
  250. enum  {
  251.     gxFileDestinationTag        = 'dest'
  252. };
  253.  
  254. #if defined(powerc) || defined (__powerc)
  255. #pragma options align=mac68k
  256. #endif
  257. struct gxFileDestinationInfo {
  258.     Boolean                        toFile;
  259. };
  260. #if defined(powerc) || defined(__powerc)
  261. #pragma options align=reset
  262. #endif
  263.  
  264. typedef struct gxFileDestinationInfo gxFileDestinationInfo;
  265.  
  266. enum  {
  267.     gxFileLocationTag            = 'floc'
  268. };
  269.  
  270. #if defined(powerc) || defined (__powerc)
  271. #pragma options align=mac68k
  272. #endif
  273. struct gxFileLocationInfo {
  274.     FSSpec                        fileSpec;
  275. };
  276. #if defined(powerc) || defined(__powerc)
  277. #pragma options align=reset
  278. #endif
  279.  
  280. typedef struct gxFileLocationInfo gxFileLocationInfo;
  281.  
  282. enum  {
  283.     gxFileFormatTag                = 'ffmt'
  284. };
  285.  
  286. #if defined(powerc) || defined (__powerc)
  287. #pragma options align=mac68k
  288. #endif
  289. struct gxFileFormatInfo {
  290.     Str31                        fileFormatName;
  291. };
  292. #if defined(powerc) || defined(__powerc)
  293. #pragma options align=reset
  294. #endif
  295.  
  296. typedef struct gxFileFormatInfo gxFileFormatInfo;
  297.  
  298. enum  {
  299.     gxFileFontsTag                = 'incf'
  300. };
  301.  
  302. enum  {
  303.     gxIncludeNoFonts            = (char)1,
  304.     gxIncludeAllFonts            = (char)2,
  305.     gxIncludeNonStandardFonts    = (char)3
  306. };
  307.  
  308. #if defined(powerc) || defined (__powerc)
  309. #pragma options align=mac68k
  310. #endif
  311. struct gxFileFontsInfo {
  312.     char                        includeFonts;
  313. };
  314. #if defined(powerc) || defined(__powerc)
  315. #pragma options align=reset
  316. #endif
  317.  
  318. typedef struct gxFileFontsInfo gxFileFontsInfo;
  319.  
  320. enum  {
  321.     gxPaperFeedTag                = 'feed'
  322. };
  323.  
  324. #if defined(powerc) || defined (__powerc)
  325. #pragma options align=mac68k
  326. #endif
  327. struct gxPaperFeedInfo {
  328.     Boolean                        autoFeed;
  329. };
  330. #if defined(powerc) || defined(__powerc)
  331. #pragma options align=reset
  332. #endif
  333.  
  334. typedef struct gxPaperFeedInfo gxPaperFeedInfo;
  335.  
  336. typedef long gxTrayIndex;
  337.  
  338. enum  {
  339.     gxTrayFeedTag                = 'tray'
  340. };
  341.  
  342. #if defined(powerc) || defined (__powerc)
  343. #pragma options align=mac68k
  344. #endif
  345. struct gxTrayFeedInfo {
  346.     gxTrayIndex                    feedTrayIndex;
  347.     Boolean                        manualFeedThisPage;
  348. };
  349. #if defined(powerc) || defined(__powerc)
  350. #pragma options align=reset
  351. #endif
  352.  
  353. typedef struct gxTrayFeedInfo gxTrayFeedInfo;
  354.  
  355. enum  {
  356.     gxManualFeedTag                = 'manf'
  357. };
  358.  
  359. #if defined(powerc) || defined (__powerc)
  360. #pragma options align=mac68k
  361. #endif
  362. struct gxManualFeedInfo {
  363.     long                        numPaperTypeNames;
  364.     Str31                        paperTypeNames[1];
  365. };
  366. #if defined(powerc) || defined(__powerc)
  367. #pragma options align=reset
  368. #endif
  369.  
  370. typedef struct gxManualFeedInfo gxManualFeedInfo;
  371.  
  372. enum  {
  373.     gxNormalMappingTag            = 'nmap'
  374. };
  375.  
  376. #if defined(powerc) || defined (__powerc)
  377. #pragma options align=mac68k
  378. #endif
  379. struct gxNormalMappingInfo {
  380.     Boolean                        normalPaperMapping;
  381. };
  382. #if defined(powerc) || defined(__powerc)
  383. #pragma options align=reset
  384. #endif
  385.  
  386. typedef struct gxNormalMappingInfo gxNormalMappingInfo;
  387.  
  388. enum  {
  389.     gxSpecialMappingTag            = 'smap'
  390. };
  391.  
  392. enum  {
  393.     gxRedirectPages                = (char)1,
  394.     gxScalePages                = (char)2,
  395.     gxTilePages                    = (char)3
  396. };
  397.  
  398. #if defined(powerc) || defined (__powerc)
  399. #pragma options align=mac68k
  400. #endif
  401. struct gxSpecialMappingInfo {
  402.     char                        specialMapping;
  403. };
  404. #if defined(powerc) || defined(__powerc)
  405. #pragma options align=reset
  406. #endif
  407.  
  408. typedef struct gxSpecialMappingInfo gxSpecialMappingInfo;
  409.  
  410. enum  {
  411.     gxTrayMappingTag            = 'tmap'
  412. };
  413.  
  414. #if defined(powerc) || defined (__powerc)
  415. #pragma options align=mac68k
  416. #endif
  417. struct gxTrayMappingInfo {
  418.     gxTrayIndex                    mapPaperToTray;
  419. };
  420. #if defined(powerc) || defined(__powerc)
  421. #pragma options align=reset
  422. #endif
  423.  
  424. typedef struct gxTrayMappingInfo gxTrayMappingInfo;
  425.  
  426. enum  {
  427.     gxPaperMappingTag            = 'pmap'
  428. };
  429.  
  430. enum  {
  431.     gxPrintPanelTag                = 'ppan'
  432. };
  433.  
  434. #if defined(powerc) || defined (__powerc)
  435. #pragma options align=mac68k
  436. #endif
  437. struct gxPrintPanelInfo {
  438.     Str31                        startPanelName;
  439. };
  440. #if defined(powerc) || defined(__powerc)
  441. #pragma options align=reset
  442. #endif
  443.  
  444. typedef struct gxPrintPanelInfo gxPrintPanelInfo;
  445.  
  446. enum  {
  447.     gxFormatPanelTag            = 'fpan'
  448. };
  449.  
  450. #if defined(powerc) || defined (__powerc)
  451. #pragma options align=mac68k
  452. #endif
  453. struct gxFormatPanelInfo {
  454.     Str31                        startPanelName;
  455. };
  456. #if defined(powerc) || defined(__powerc)
  457. #pragma options align=reset
  458. #endif
  459.  
  460. typedef struct gxFormatPanelInfo gxFormatPanelInfo;
  461.  
  462. enum  {
  463.     gxTranslatedDocumentTag        = 'trns'
  464. };
  465.  
  466. #if defined(powerc) || defined (__powerc)
  467. #pragma options align=mac68k
  468. #endif
  469. struct gxTranslatedDocumentInfo {
  470.     long                        translatorInfo;
  471. };
  472. #if defined(powerc) || defined(__powerc)
  473. #pragma options align=reset
  474. #endif
  475.  
  476. typedef struct gxTranslatedDocumentInfo gxTranslatedDocumentInfo;
  477.  
  478. enum  {
  479.     gxPaperTypeLockTag            = 'ptlk'
  480. };
  481.  
  482. #if defined(powerc) || defined (__powerc)
  483. #pragma options align=mac68k
  484. #endif
  485. struct gxPaperTypeLockInfo {
  486.     Boolean                        paperTypeLocked;
  487. };
  488. #if defined(powerc) || defined(__powerc)
  489. #pragma options align=reset
  490. #endif
  491.  
  492. typedef struct gxPaperTypeLockInfo gxPaperTypeLockInfo;
  493.  
  494. enum  {
  495.     gxOrientationTag            = 'layo'
  496. };
  497.  
  498. enum  {
  499.     gxPortraitLayout            = (char)0,
  500.     gxLandscapeLayout            = (char)1,
  501.     gxRotatedPortraitLayout        = (char)2,
  502.     gxRotatedLandscapeLayout    = (char)3
  503. };
  504.  
  505. #if defined(powerc) || defined (__powerc)
  506. #pragma options align=mac68k
  507. #endif
  508. struct gxOrientationInfo {
  509.     char                        orientation;
  510. };
  511. #if defined(powerc) || defined(__powerc)
  512. #pragma options align=reset
  513. #endif
  514.  
  515. typedef struct gxOrientationInfo gxOrientationInfo;
  516.  
  517. enum  {
  518.     gxScalingTag                = 'scal'
  519. };
  520.  
  521. #if defined(powerc) || defined (__powerc)
  522. #pragma options align=mac68k
  523. #endif
  524. struct gxScalingInfo {
  525.     Fixed                        horizontalScaleFactor;
  526.     Fixed                        verticalScaleFactor;
  527.     short                        minScaling;
  528.     short                        maxScaling;
  529. };
  530. #if defined(powerc) || defined(__powerc)
  531. #pragma options align=reset
  532. #endif
  533.  
  534. typedef struct gxScalingInfo gxScalingInfo;
  535.  
  536. enum  {
  537.     gxDirectModeTag                = 'dirm'
  538. };
  539.  
  540. #if defined(powerc) || defined (__powerc)
  541. #pragma options align=mac68k
  542. #endif
  543. struct gxDirectModeInfo {
  544.     Boolean                        directModeOn;
  545. };
  546. #if defined(powerc) || defined(__powerc)
  547. #pragma options align=reset
  548. #endif
  549.  
  550. typedef struct gxDirectModeInfo gxDirectModeInfo;
  551.  
  552. enum  {
  553.     gxFormatHalftoneTag            = 'half'
  554. };
  555.  
  556. #if defined(powerc) || defined (__powerc)
  557. #pragma options align=mac68k
  558. #endif
  559. struct gxFormatHalftoneInfo {
  560.     long                        numHalftones;
  561.     gxHalftone                    halftones[1];
  562. };
  563. #if defined(powerc) || defined(__powerc)
  564. #pragma options align=reset
  565. #endif
  566.  
  567. typedef struct gxFormatHalftoneInfo gxFormatHalftoneInfo;
  568.  
  569. enum  {
  570.     gxInvertPageTag                = 'invp'
  571. };
  572.  
  573. #if defined(powerc) || defined (__powerc)
  574. #pragma options align=mac68k
  575. #endif
  576. struct gxInvertPageInfo {
  577.     Boolean                        invert;
  578. };
  579. #if defined(powerc) || defined(__powerc)
  580. #pragma options align=reset
  581. #endif
  582.  
  583. typedef struct gxInvertPageInfo gxInvertPageInfo;
  584.  
  585. enum  {
  586.     gxFlipPageHorizontalTag        = 'flph'
  587. };
  588.  
  589. #if defined(powerc) || defined (__powerc)
  590. #pragma options align=mac68k
  591. #endif
  592. struct gxFlipPageHorizontalInfo {
  593.     Boolean                        flipHorizontal;
  594. };
  595. #if defined(powerc) || defined(__powerc)
  596. #pragma options align=reset
  597. #endif
  598.  
  599. typedef struct gxFlipPageHorizontalInfo gxFlipPageHorizontalInfo;
  600.  
  601. enum  {
  602.     gxFlipPageVerticalTag        = 'flpv'
  603. };
  604.  
  605. #if defined(powerc) || defined (__powerc)
  606. #pragma options align=mac68k
  607. #endif
  608. struct gxFlipPageVerticalInfo {
  609.     Boolean                        flipVertical;
  610. };
  611. #if defined(powerc) || defined(__powerc)
  612. #pragma options align=reset
  613. #endif
  614.  
  615. typedef struct gxFlipPageVerticalInfo gxFlipPageVerticalInfo;
  616.  
  617. enum  {
  618.     gxPreciseBitmapsTag            = 'pbmp'
  619. };
  620.  
  621. #if defined(powerc) || defined (__powerc)
  622. #pragma options align=mac68k
  623. #endif
  624. struct gxPreciseBitmapInfo {
  625.     Boolean                        preciseBitmaps;
  626. };
  627. #if defined(powerc) || defined(__powerc)
  628. #pragma options align=reset
  629. #endif
  630.  
  631. typedef struct gxPreciseBitmapInfo gxPreciseBitmapInfo;
  632.  
  633. enum  {
  634.     gxBaseTag                    = 'base'
  635. };
  636.  
  637. enum  {
  638.     gxUnknownBase                = 0,
  639.     gxUSLetterBase                = 1,
  640.     gxUSLegalBase                = 2,
  641.     gxA4LetterBase                = 3,
  642.     gxB5LetterBase                = 4,
  643.     gxTabloidBase                = 5
  644. };
  645.  
  646. #if defined(powerc) || defined (__powerc)
  647. #pragma options align=mac68k
  648. #endif
  649. struct gxBaseInfo {
  650.     long                        baseType;
  651. };
  652. #if defined(powerc) || defined(__powerc)
  653. #pragma options align=reset
  654. #endif
  655.  
  656. typedef struct gxBaseInfo gxBaseInfo;
  657.  
  658. enum  {
  659.     gxCreatorTag                = 'crea'
  660. };
  661.  
  662. enum  {
  663.     gxSysPaperType                = 'sypt',
  664.     gxUserPaperType                = 'uspt'
  665. };
  666.  
  667. #if defined(powerc) || defined (__powerc)
  668. #pragma options align=mac68k
  669. #endif
  670. struct gxCreatorInfo {
  671.     OSType                        creator;
  672. };
  673. #if defined(powerc) || defined(__powerc)
  674. #pragma options align=reset
  675. #endif
  676.  
  677. typedef struct gxCreatorInfo gxCreatorInfo;
  678.  
  679. enum  {
  680.     gxUnitsTag                    = 'unit'
  681. };
  682.  
  683. enum  {
  684.     gxPicas                        = (char)0,
  685.     gxMMs                        = (char)1,
  686.     gxInches                    = (char)2
  687. };
  688.  
  689. #if defined(powerc) || defined (__powerc)
  690. #pragma options align=mac68k
  691. #endif
  692. struct gxUnitsInfo {
  693.     char                        units;
  694. };
  695. #if defined(powerc) || defined(__powerc)
  696. #pragma options align=reset
  697. #endif
  698.  
  699. typedef struct gxUnitsInfo gxUnitsInfo;
  700.  
  701. enum  {
  702.     gxFlagsTag                    = 'flag'
  703. };
  704.  
  705. enum  {
  706.     gxOldPaperTypeFlag            = 0x00800000,
  707.     gxNewPaperTypeFlag            = 0x00400000,
  708.     gxOldAndNewPaperTypeFlag    = 0x00C00000,
  709.     gxDefaultPaperTypeFlag        = 0x00100000
  710. };
  711.  
  712. #if defined(powerc) || defined (__powerc)
  713. #pragma options align=mac68k
  714. #endif
  715. struct gxFlagsInfo {
  716.     long                        flags;
  717. };
  718. #if defined(powerc) || defined(__powerc)
  719. #pragma options align=reset
  720. #endif
  721.  
  722. typedef struct gxFlagsInfo gxFlagsInfo;
  723.  
  724. enum  {
  725.     gxCommentTag                = 'cmnt'
  726. };
  727.  
  728. #if defined(powerc) || defined (__powerc)
  729. #pragma options align=mac68k
  730. #endif
  731. struct gxCommentInfo {
  732.     Str255                        comment;
  733. };
  734. #if defined(powerc) || defined(__powerc)
  735. #pragma options align=reset
  736. #endif
  737.  
  738. typedef struct gxCommentInfo gxCommentInfo;
  739.  
  740. enum  {
  741.     gxPenTableTag                = 'pent'
  742. };
  743.  
  744. enum  {
  745.     gxDeviceUnits                = 0,
  746.     gxMMUnits                    = 1,
  747.     gxInchesUnits                = 2
  748. };
  749.  
  750. enum  {
  751.     gxPenNotLoaded                = -1
  752. };
  753.  
  754. #if defined(powerc) || defined (__powerc)
  755. #pragma options align=mac68k
  756. #endif
  757. struct gxPenTableEntry {
  758.     Str31                        penName;
  759.     gxColor                        penColor;
  760.     Fixed                        penThickness;
  761.     short                        penUnits;
  762.     short                        penPosition;
  763. };
  764. #if defined(powerc) || defined(__powerc)
  765. #pragma options align=reset
  766. #endif
  767.  
  768. typedef struct gxPenTableEntry gxPenTableEntry;
  769.  
  770. #if defined(powerc) || defined (__powerc)
  771. #pragma options align=mac68k
  772. #endif
  773. struct gxPenTable {
  774.     long                        numPens;
  775.     gxPenTableEntry                pens[1];
  776. };
  777. #if defined(powerc) || defined(__powerc)
  778. #pragma options align=reset
  779. #endif
  780.  
  781. typedef struct gxPenTable gxPenTable, *gxPenTablePtr, **gxPenTableHdl;
  782.  
  783. typedef long gxDialogResult;
  784.  
  785. enum  {
  786.     gxCancelSelected            = (gxDialogResult)0,
  787.     gxOKSelected                = (gxDialogResult)1,
  788.     gxRevertSelected            = (gxDialogResult)2
  789. };
  790.  
  791. #if defined(powerc) || defined (__powerc)
  792. #pragma options align=mac68k
  793. #endif
  794. struct gxEditMenuRecord {
  795.     short                        editMenuID;
  796.     short                        cutItem;
  797.     short                        copyItem;
  798.     short                        pasteItem;
  799.     short                        clearItem;
  800.     short                        undoItem;
  801. };
  802. #if defined(powerc) || defined(__powerc)
  803. #pragma options align=reset
  804. #endif
  805.  
  806. typedef struct gxEditMenuRecord gxEditMenuRecord;
  807.  
  808. typedef long gxQueryType;
  809.  
  810. enum  {
  811.     gxGetJobFormatLineConstraintQuery = (gxQueryType)0,
  812.     gxGetJobFormatFontsQuery    = (gxQueryType)1,
  813.     gxGetJobFormatFontCommonStylesQuery = (gxQueryType)2,
  814.     gxGetJobFormatFontConstraintQuery = (gxQueryType)3,
  815.     gxSetStyleJobFormatCommonStyleQuery = (gxQueryType)4
  816. };
  817.  
  818. typedef OSType gxJobFormatMode;
  819.  
  820. enum  {
  821.     gxGraphicsJobFormatMode        = (gxJobFormatMode)'grph',
  822.     gxTextJobFormatMode            = (gxJobFormatMode)'text',
  823.     gxPostScriptJobFormatMode    = (gxJobFormatMode)'post'
  824. };
  825.  
  826. #if defined(powerc) || defined (__powerc)
  827. #pragma options align=mac68k
  828. #endif
  829. struct gxJobFormatModeTable {
  830.     long                        numModes;
  831.     gxJobFormatMode                modes[1];
  832. };
  833. #if defined(powerc) || defined(__powerc)
  834. #pragma options align=reset
  835. #endif
  836.  
  837. typedef struct gxJobFormatModeTable gxJobFormatModeTable, *gxJobFormatModeTablePtr, **gxJobFormatModeTableHdl;
  838.  
  839. enum  {
  840.     gxConstraintRange            = -1
  841. };
  842.  
  843. #if defined(powerc) || defined (__powerc)
  844. #pragma options align=mac68k
  845. #endif
  846. struct gxPositionConstraintTable {
  847.     gxPoint                        phase;
  848.     gxPoint                        offset;
  849.     long                        numSizes;
  850.     Fixed                        sizes[1];
  851. };
  852. #if defined(powerc) || defined(__powerc)
  853. #pragma options align=reset
  854. #endif
  855.  
  856. typedef struct gxPositionConstraintTable gxPositionConstraintTable, *gxPositionConstraintTablePtr, **gxPositionConstraintTableHdl;
  857.  
  858. #if defined(powerc) || defined (__powerc)
  859. #pragma options align=mac68k
  860. #endif
  861. struct gxStyleNameTable {
  862.     long                        numStyleNames;
  863.     Str255                        styleNames[1];
  864. };
  865. #if defined(powerc) || defined(__powerc)
  866. #pragma options align=reset
  867. #endif
  868.  
  869. typedef struct gxStyleNameTable gxStyleNameTable, *gxStyleNameTablePtr, **gxStyleNameTableHdl;
  870.  
  871. #if defined(powerc) || defined (__powerc)
  872. #pragma options align=mac68k
  873. #endif
  874. struct gxFontTable {
  875.     long                        numFonts;
  876.     gxFont                        fonts[1];
  877. };
  878. #if defined(powerc) || defined(__powerc)
  879. #pragma options align=reset
  880. #endif
  881.  
  882. typedef struct gxFontTable gxFontTable, *gxFontTablePtr, **gxFontTableHdl;
  883.  
  884. #define GXPUBLICAPIGLUE(selector) {0x203C, 0x0000, selector, 0xABFE}
  885.  
  886. #ifdef __cplusplus
  887. extern "C" {
  888. #endif
  889.  
  890. extern pascal OSErr GXInitPrinting(void)
  891.  FOURWORDINLINE(0x203C, 0x0000, 0, 0xABFE);
  892. extern pascal OSErr GXExitPrinting(void)
  893.  FOURWORDINLINE(0x203C, 0x0000, 1, 0xABFE);
  894. extern pascal OSErr GXNewJob(gxJob *)
  895.  FOURWORDINLINE(0x203C, 0x0000, 2, 0xABFE);
  896. extern pascal OSErr GXDisposeJob(gxJob)
  897.  FOURWORDINLINE(0x203C, 0x0000, 3, 0xABFE);
  898. extern pascal void GXFlattenJob(gxJob, gxPrintingFlattenProc, void *)
  899.  FOURWORDINLINE(0x203C, 0x0000, 4, 0xABFE);
  900. extern pascal gxJob GXUnflattenJob(gxJob, gxPrintingFlattenProc, void *)
  901.  FOURWORDINLINE(0x203C, 0x0000, 5, 0xABFE);
  902. extern pascal Handle GXFlattenJobToHdl(gxJob, Handle)
  903.  FOURWORDINLINE(0x203C, 0x0000, 6, 0xABFE);
  904. extern pascal gxJob GXUnflattenJobFromHdl(gxJob, Handle)
  905.  FOURWORDINLINE(0x203C, 0x0000, 7, 0xABFE);
  906. extern pascal void GXInstallApplicationOverride(gxJob, short messageID, void *override)
  907.  FOURWORDINLINE(0x203C, 0x0000, 8, 0xABFE);
  908. extern pascal gxFormat GXNewFormat(gxJob)
  909.  FOURWORDINLINE(0x203C, 0x0000, 9, 0xABFE);
  910. extern pascal void GXDisposeFormat(gxFormat)
  911.  FOURWORDINLINE(0x203C, 0x0000, 10, 0xABFE);
  912. extern pascal gxPaperType GXNewPaperType(gxJob, Str31 name, gxRectangle *pageSize, gxRectangle *paperSize)
  913.  FOURWORDINLINE(0x203C, 0x0000, 11, 0xABFE);
  914. extern pascal void GXDisposePaperType(gxPaperType)
  915.  FOURWORDINLINE(0x203C, 0x0000, 12, 0xABFE);
  916. extern pascal gxPaperType GXGetNewPaperType(gxJob, short resID)
  917.  FOURWORDINLINE(0x203C, 0x0000, 13, 0xABFE);
  918. extern pascal OSErr GXGetJobError(gxJob)
  919.  FOURWORDINLINE(0x203C, 0x0000, 14, 0xABFE);
  920. extern pascal void GXSetJobError(gxJob, OSErr)
  921.  FOURWORDINLINE(0x203C, 0x0000, 15, 0xABFE);
  922. extern pascal gxDialogResult GXJobDefaultFormatDialog(gxJob, gxEditMenuRecord *)
  923.  FOURWORDINLINE(0x203C, 0x0000, 16, 0xABFE);
  924. extern pascal gxDialogResult GXJobPrintDialog(gxJob, gxEditMenuRecord *)
  925.  FOURWORDINLINE(0x203C, 0x0000, 17, 0xABFE);
  926. extern pascal gxDialogResult GXFormatDialog(gxFormat, gxEditMenuRecord *, StringPtr title)
  927.  FOURWORDINLINE(0x203C, 0x0000, 18, 0xABFE);
  928. extern pascal gxFormat GXGetJobFormat(gxJob, long whichFormat)
  929.  FOURWORDINLINE(0x203C, 0x0000, 19, 0xABFE);
  930. extern pascal gxJob GXGetFormatJob(gxFormat)
  931.  FOURWORDINLINE(0x203C, 0x0000, 20, 0xABFE);
  932. extern pascal gxPaperType GXGetFormatPaperType(gxFormat)
  933.  FOURWORDINLINE(0x203C, 0x0000, 21, 0xABFE);
  934. extern pascal void GXGetFormatDimensions(gxFormat, gxRectangle *pageSize, gxRectangle *paperSize)
  935.  FOURWORDINLINE(0x203C, 0x0000, 22, 0xABFE);
  936. extern pascal void GXGetJobPageRange(gxJob theJob, long *firstPage, long *lastPage)
  937.  FOURWORDINLINE(0x203C, 0x0000, 23, 0xABFE);
  938. extern pascal void GXStartJob(gxJob, StringPtr docName, long pageCount)
  939.  FOURWORDINLINE(0x203C, 0x0000, 24, 0xABFE);
  940. extern pascal void GXPrintPage(gxJob, long pageNumber, gxFormat, gxShape thePage)
  941.  FOURWORDINLINE(0x203C, 0x0000, 25, 0xABFE);
  942. extern pascal Boolean GXStartPage(gxJob, long pageNumber, gxFormat, long numViewPorts, gxViewPort *viewPortList)
  943.  FOURWORDINLINE(0x203C, 0x0000, 26, 0xABFE);
  944. extern pascal void GXFinishPage(gxJob)
  945.  FOURWORDINLINE(0x203C, 0x0000, 27, 0xABFE);
  946. extern pascal void GXFinishJob(gxJob)
  947.  FOURWORDINLINE(0x203C, 0x0000, 28, 0xABFE);
  948. extern pascal Collection GXGetJobCollection(gxJob)
  949.  FOURWORDINLINE(0x203C, 0x0000, 29, 0xABFE);
  950. extern pascal void *GXGetJobRefCon(gxJob)
  951.  FOURWORDINLINE(0x203C, 0x0000, 30, 0xABFE);
  952. extern pascal void GXSetJobRefCon(gxJob, void *refCon)
  953.  FOURWORDINLINE(0x203C, 0x0000, 31, 0xABFE);
  954. extern pascal gxJob GXCopyJob(gxJob srcJob, gxJob dstJob)
  955.  FOURWORDINLINE(0x203C, 0x0000, 32, 0xABFE);
  956. extern pascal void GXSelectJobFormattingPrinter(gxJob, Str31 printerName)
  957.  FOURWORDINLINE(0x203C, 0x0000, 33, 0xABFE);
  958. extern pascal void GXSelectJobOutputPrinter(gxJob, Str31 printerName)
  959.  FOURWORDINLINE(0x203C, 0x0000, 34, 0xABFE);
  960. extern pascal void GXForEachJobFormatDo(gxJob, gxFormatProc, void *refCon)
  961.  FOURWORDINLINE(0x203C, 0x0000, 35, 0xABFE);
  962. extern pascal long GXCountJobFormats(gxJob)
  963.  FOURWORDINLINE(0x203C, 0x0000, 36, 0xABFE);
  964. extern pascal Boolean GXUpdateJob(gxJob)
  965.  FOURWORDINLINE(0x203C, 0x0000, 37, 0xABFE);
  966. extern pascal void GXConvertPrintRecord(gxJob, THPrint)
  967.  FOURWORDINLINE(0x203C, 0x0000, 38, 0xABFE);
  968. extern pascal gxPrinter GXGetJobFormattingPrinter(gxJob)
  969.  FOURWORDINLINE(0x203C, 0x0000, 39, 0xABFE);
  970. extern pascal gxPrinter GXGetJobOutputPrinter(gxJob)
  971.  FOURWORDINLINE(0x203C, 0x0000, 40, 0xABFE);
  972. extern pascal gxPrinter GXGetJobPrinter(gxJob)
  973.  FOURWORDINLINE(0x203C, 0x0000, 41, 0xABFE);
  974. extern pascal gxJob GXGetPrinterJob(gxPrinter)
  975.  FOURWORDINLINE(0x203C, 0x0000, 42, 0xABFE);
  976. extern pascal void GXForEachPrinterViewDeviceDo(gxPrinter, gxViewDeviceProc, void *refCon)
  977.  FOURWORDINLINE(0x203C, 0x0000, 43, 0xABFE);
  978. extern pascal long GXCountPrinterViewDevices(gxPrinter)
  979.  FOURWORDINLINE(0x203C, 0x0000, 44, 0xABFE);
  980. extern pascal gxViewDevice GXGetPrinterViewDevice(gxPrinter, long whichViewDevice)
  981.  FOURWORDINLINE(0x203C, 0x0000, 45, 0xABFE);
  982. extern pascal void GXSelectPrinterViewDevice(gxPrinter, long whichViewDevice)
  983.  FOURWORDINLINE(0x203C, 0x0000, 46, 0xABFE);
  984. extern pascal void GXGetPrinterName(gxPrinter, Str31)
  985.  FOURWORDINLINE(0x203C, 0x0000, 47, 0xABFE);
  986. extern pascal OSType GXGetPrinterType(gxPrinter)
  987.  FOURWORDINLINE(0x203C, 0x0000, 48, 0xABFE);
  988. extern pascal void GXGetPrinterDriverName(gxPrinter, Str31)
  989.  FOURWORDINLINE(0x203C, 0x0000, 49, 0xABFE);
  990. extern pascal OSType GXGetPrinterDriverType(gxPrinter)
  991.  FOURWORDINLINE(0x203C, 0x0000, 50, 0xABFE);
  992. extern pascal Collection GXGetFormatCollection(gxFormat)
  993.  FOURWORDINLINE(0x203C, 0x0000, 51, 0xABFE);
  994. extern pascal void GXChangedFormat(gxFormat)
  995.  FOURWORDINLINE(0x203C, 0x0000, 52, 0xABFE);
  996. extern pascal gxFormat GXCopyFormat(gxFormat srcFormat, gxFormat dstFormat)
  997.  FOURWORDINLINE(0x203C, 0x0000, 53, 0xABFE);
  998. extern pascal gxFormat GXCloneFormat(gxFormat)
  999.  FOURWORDINLINE(0x203C, 0x0000, 54, 0xABFE);
  1000. extern pascal long GXCountFormatOwners(gxFormat)
  1001.  FOURWORDINLINE(0x203C, 0x0000, 55, 0xABFE);
  1002. extern pascal void GXGetFormatMapping(gxFormat, gxMapping *)
  1003.  FOURWORDINLINE(0x203C, 0x0000, 56, 0xABFE);
  1004. extern pascal gxShape GXGetFormatForm(gxFormat, gxShape *mask)
  1005.  FOURWORDINLINE(0x203C, 0x0000, 57, 0xABFE);
  1006. extern pascal void GXSetFormatForm(gxFormat, gxShape form, gxShape mask)
  1007.  FOURWORDINLINE(0x203C, 0x0000, 58, 0xABFE);
  1008. extern pascal void GXSetAvailableJobFormatModes(gxJob, gxJobFormatModeTableHdl)
  1009.  FOURWORDINLINE(0x203C, 0x0000, 59, 0xABFE);
  1010. extern pascal gxJobFormatMode GXGetPreferredJobFormatMode(gxJob, Boolean *directOnly)
  1011.  FOURWORDINLINE(0x203C, 0x0000, 60, 0xABFE);
  1012. extern pascal gxJobFormatMode GXGetJobFormatMode(gxJob)
  1013.  FOURWORDINLINE(0x203C, 0x0000, 61, 0xABFE);
  1014. extern pascal void GXSetJobFormatMode(gxJob, gxJobFormatMode)
  1015.  FOURWORDINLINE(0x203C, 0x0000, 62, 0xABFE);
  1016. extern pascal void GXJobFormatModeQuery(gxJob, gxQueryType, void *srcData, void *dstData)
  1017.  FOURWORDINLINE(0x203C, 0x0000, 63, 0xABFE);
  1018. extern pascal void GXEnableJobScalingPanel(gxJob, Boolean enabled)
  1019.  FOURWORDINLINE(0x203C, 0x0000, 64, 0xABFE);
  1020. extern pascal void GXGetJobPanelDimensions(gxJob, Rect *)
  1021.  FOURWORDINLINE(0x203C, 0x0000, 65, 0xABFE);
  1022. extern pascal long GXCountJobPaperTypes(gxJob, Boolean forFormatDevice)
  1023.  FOURWORDINLINE(0x203C, 0x0000, 66, 0xABFE);
  1024. extern pascal gxPaperType GXGetJobPaperType(gxJob, long whichPaperType, Boolean forFormatDevice, gxPaperType)
  1025.  FOURWORDINLINE(0x203C, 0x0000, 67, 0xABFE);
  1026. extern pascal void GXForEachJobPaperTypeDo(gxJob, gxPaperTypeProc, void *refCon, Boolean forFormattingPrinter)
  1027.  FOURWORDINLINE(0x203C, 0x0000, 68, 0xABFE);
  1028. extern pascal gxPaperType GXCopyPaperType(gxPaperType srcPaperType, gxPaperType dstPaperType)
  1029.  FOURWORDINLINE(0x203C, 0x0000, 69, 0xABFE);
  1030. extern pascal void GXGetPaperTypeName(gxPaperType, Str31)
  1031.  FOURWORDINLINE(0x203C, 0x0000, 70, 0xABFE);
  1032. extern pascal void GXGetPaperTypeDimensions(gxPaperType, gxRectangle *pageSize, gxRectangle *paperSize)
  1033.  FOURWORDINLINE(0x203C, 0x0000, 71, 0xABFE);
  1034. extern pascal gxJob GXGetPaperTypeJob(gxPaperType)
  1035.  FOURWORDINLINE(0x203C, 0x0000, 72, 0xABFE);
  1036. extern pascal Collection GXGetPaperTypeCollection(gxPaperType)
  1037.  FOURWORDINLINE(0x203C, 0x0000, 73, 0xABFE);
  1038. extern pascal gxPrintFile GXOpenPrintFile(gxJob, FSSpecPtr, char permission)
  1039.  FOURWORDINLINE(0x203C, 0x0000, 74, 0xABFE);
  1040. extern pascal void GXClosePrintFile(gxPrintFile)
  1041.  FOURWORDINLINE(0x203C, 0x0000, 75, 0xABFE);
  1042. extern pascal gxJob GXGetPrintFileJob(gxPrintFile)
  1043.  FOURWORDINLINE(0x203C, 0x0000, 76, 0xABFE);
  1044. extern pascal long GXCountPrintFilePages(gxPrintFile)
  1045.  FOURWORDINLINE(0x203C, 0x0000, 77, 0xABFE);
  1046. extern pascal void GXReadPrintFilePage(gxPrintFile, long pageNumber, long numViewPorts, gxViewPort *viewPortList, gxFormat *, gxShape *)
  1047.  FOURWORDINLINE(0x203C, 0x0000, 78, 0xABFE);
  1048. extern pascal void GXReplacePrintFilePage(gxPrintFile, long pageNumber, gxFormat, gxShape)
  1049.  FOURWORDINLINE(0x203C, 0x0000, 79, 0xABFE);
  1050. extern pascal void GXInsertPrintFilePage(gxPrintFile, long atPageNumber, gxFormat, gxShape)
  1051.  FOURWORDINLINE(0x203C, 0x0000, 80, 0xABFE);
  1052. extern pascal void GXDeletePrintFilePageRange(gxPrintFile, long fromPageNumber, long toPageNumber)
  1053.  FOURWORDINLINE(0x203C, 0x0000, 81, 0xABFE);
  1054. extern pascal void GXSavePrintFile(gxPrintFile, FSSpec *)
  1055.  FOURWORDINLINE(0x203C, 0x0000, 82, 0xABFE);
  1056. extern pascal long GXFindPrinterProfile(gxPrinter, void *searchData, long index, gxColorProfile *returnedProfile)
  1057.  FOURWORDINLINE(0x203C, 0x0000, 83, 0xABFE);
  1058. extern pascal long GXFindFormatProfile(gxFormat, void *searchData, long index, gxColorProfile *returnedProfile)
  1059.  FOURWORDINLINE(0x203C, 0x0000, 84, 0xABFE);
  1060. extern pascal void GXSetPrinterProfile(gxPrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  1061.  FOURWORDINLINE(0x203C, 0x0000, 85, 0xABFE);
  1062. extern pascal void GXSetFormatProfile(gxFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  1063.  FOURWORDINLINE(0x203C, 0x0000, 86, 0xABFE);
  1064. extern pascal void GXIdleJob(gxJob)
  1065.  FOURWORDINLINE(0x203C, 0x0000, 87, 0xABFE);
  1066. #ifdef __cplusplus
  1067. }
  1068. #endif
  1069.  
  1070. #endif
  1071.  
  1072.